Firmware is software that is kept in a semi permanent memory, such as PROM (programmable read only memory) or EPROM (electrical PROM). The software is so constantly called upon by the computing device that it is burned into a chip and is not forgotten when the power is shut off to the device. Because it is semi permanent, firmware can be altered or replaced by, for example, erasing the PROM or EPROM.
In the communications industry, high tech IP (Internet Protocol) telephony devices continue to replace the traditional analog keysets. This is due largely, in part, because of the desire for a single network for all communications devices and services. These LAN-based communication devices can be connected to the company's Ethernet in generally the same manner as a desktop personal computer. The communication devices or endpoints tap into the company's network and in some instances, the more advanced “smart-phones” can actually replace several of the functions of a traditional desktop computer, such as providing internet access and email. Given the advancement in endpoint technology, it is not surprising that prior to shipping the device to an end user, firmware is nearly always installed on these devices.
Traditionally, when an installer initially brings a network of endpoints online (i.e., connects the network of endpoints to the company's Ethernet, voice mail systems, PBX, and other communications systems), the endpoints are powered up and initialized one-by-one until all the units are running. The installer may perform standard diagnostics on the newly installed network to verify the endpoints are satisfactorily integrated with the network. As the company requires additional endpoints to be added to the network, the installer powers up and initializes each new endpoint to the existing network one-by-one until all the added units are integrated. However, during an endpoint upgrade or addition it may be that some or all of the newly installed endpoints have firmware that varies from the existing endpoints on the network. The installer is now faced with the challenge of determining which firmware version to operate the system in, and more importantly, how to override and swiftly install the desired firmware to some of the endpoints.
In most cases, the entire network is brought offline so that all the endpoints can be forced to upgrade to the same firmware. Of course this option requires the company to be without network service for the period of time it takes the installer to ensure all the endpoints are on the same firmware version and operating properly. Alternatively, the installer may choose to keep the network online while attempting to convert the selected endpoint's firmware, however this approach is risky due to inevitable disruptions to the network. Another problem for the installer is where to obtain the desired version of firmware. Often times the firmware is stored in a secure database at the end user's site and can be copied from a master server to the endpoints. Alternatively, in a peer-to-peer network, one of the endpoints may be designated as a master to keep a separate copy of the firmware stored for sharing purposes. In these instances, the master endpoint often requires specific software to manage the distribution of software or firmware to other endpoints. Storing software or firmware for these purposes is often inconvenient due to the high level of maintenance required, such as storing all the various versions of the firmware, continually backing up the data in the event of system failures, securing the data, and of course maintaining precise documentation of exactly where the data is stored, i.e., which server, endpoint, etc.
Thus, there exists a need in which modifications of a communication network, such as expansion of endpoints, is accomplished without major disruption to the existing network. It is also desirable to verify the integrity of the modified system without having to disrupt the existing system. In addition, it is preferable to avoid the problems accompanying storing of firmware for sharing purposes.